# 加载模型和分词器：使用 DistilBertTokenizer 和 DistilBertForSequenceClassification 加载预训练的 DistilBERT 模型。
# 输入文本：将输入文本转换为模型的输入格式。
# 设置设备为 CPU：明确指定模型和输入数据在 CPU 上运行。
# 进行推理：在不进行梯度计算的情况下（torch.no_grad()）运行模型，获得预测结果。

import torch
from transformers import DistilBertTokenizer, DistilBertForSequenceClassification

# 加载预训练的 DistilBERT 模型和分词器
model_name = "distilbert-base-uncased"
tokenizer = DistilBertTokenizer.from_pretrained(model_name)
model = DistilBertForSequenceClassification.from_pretrained(model_name)

# 输入文本
text = "The model is running efficiently on CPU."
inputs = tokenizer(text, return_tensors="pt")

# 设置设备为 CPU
device = torch.device("cpu")
model.to(device)

# 进行推理
with torch.no_grad():
    outputs = model(**inputs)

# 获取预测结果
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
print(predictions)


